package com.example.vote.flow.pojo.entity;

import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 投票主题实体类
 */
@Data
public class VoteTopic implements Serializable {

    /**
     * 投票主题ID
     */
    private Long id;

    /**
     * 投票标题
     */
    private String title;

    /**
     * 投票描述
     */
    private String description;

    /**
     * 投票开始时间
     */
    private LocalDateTime startTime;

    /**
     * 投票结束时间
     */
    private LocalDateTime endTime;

    /**
     * 每个投票选项是否允许添加图片，0表示不允许，1表示允许
     */
    private Integer allowOptionImage;

    /**
     * 每用户最多投票数
     */
    private Integer maxVotesPerUser;

    /**
     * 每用户每天最多投票数
     */
    private Integer maxVotesPerUserPerDay;

    /**
     * 每IP最多投票数
     */
    private Integer maxVotesPerIp;

    /**
     * 投票创建者的用户ID
     */
    private Long creatorId;

    /**
     * 累计票数（冗余）
     */
    private Integer recordCount;

    /**
     * 投票创建时间
     */
    private LocalDateTime createTime;

    /**
     * 投票更新时间
     */
    private LocalDateTime updateTime;
}